package xkp.lesson1;

public class Demo1 extends Object{
	public static void main(String[] args) throws InterruptedException {
		Person person = new Person("张三",20);
		int num = 100;
		int count = 300;
		//通过以下代码跟踪调试，发现对象+字符串本质上会调用对象的toString()方法。
		String str = (new StringBuilder()).append(person).append("你好").toString();
		//请大家注意：在字符串+时只要是有变量参与，都会重新产生一个新的String对象
		
		//String str = person+"你好";
		//String str2 = (new StringBuilder(String.valueOf(num))).append("200").toString();
		String str2 = num + "200" +count;
		
		System.out.println(str);
		for(int i = 1; i <=100; i++) {
			Person person2 = new Person(""+i, i);
		}
		//显式的通知jvm垃圾回收机制，你该运行了
		//但是因为jvm的垃圾回收机制是在一个守护线程中运行
		fun();
		//System.exit(100);
		System.gc();
		//等着jvm先工作一会儿
		//Thread.sleep(1000);
		//
		System.out.println("总共创建的对象有："+Person.allCount);
		System.out.println("当前内存中存在的对象:"+Person.currentCount);
	}
	
	public static void fun() {
		//
		//return;
		//遇到如下代码，直接整个应用程序退出
		System.exit(100);
	}

}
